Embodiments of the inventive subject matter generally relate to the field of computing systems, and, more particularly, to virtual memory.
Virtual memory allows computing systems to better manage memory than if the computing system was limited to managing the actual memory accessible by the computing system. For example, virtual memory functionality allows the computing system to allocate non-contiguous regions to a particular application, while giving the application the appearance of being allocated one contiguous region of memory. Additionally, virtual memory functionality allows a computing system to allocate more memory than is actually available in the computing system to applications. Whenever an application references a memory address on a system that implements virtual memory, the address is translated into a physical address that refers to the actual memory location. Because applications frequently interact with memory, inefficiency and inflexibility within the virtual memory system can cause performance degradation.